samba-cvs.cvs
[Top] [All Lists]

[SCM] Samba Shared Repository - branch master updated

Subject: [SCM] Samba Shared Repository - branch master updated
From: Stefan Metzmacher
Date: Fri, 20 Nov 2009 06:48:55 -0600 CST
The branch, master has been updated
       via  ae4795d... librpc: rerun "make idl"
       via  2cd8819... Revert "Work around ndr_unpack failing on structures 
with relative pointers."
       via  05850d1... pidl:NDR/Parser.pm: update 
ndr_pull->relative_highest_offset after handling relative pointers
       via  4b6c03a... librpc/ndr: remember the highest offset we parsed with 
relative pointer buffers
      from  7153200... s3:idmap_ldap: trim the " chars from the location string 
in idmap_ldap_db_init

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit ae4795de696607dde0ffb8d997f67f7845e1a4ba
Author: Stefan Metzmacher <metze@xxxxxxxxx>
Date:   Fri Nov 20 12:37:03 2009 +0100

    librpc: rerun "make idl"
    
    metze

commit 2cd88197f80eaeb2070b248551a22a3488c89d8d
Author: Stefan Metzmacher <metze@xxxxxxxxx>
Date:   Fri Nov 20 12:19:35 2009 +0100

    Revert "Work around ndr_unpack failing on structures with relative 
pointers."
    
    This reverts commit c2cdb4ad5c9398ef0d3310613107999f8d33c7ce.
    
    It's not needed anymore.
    
    metze

commit 05850d1894d83897f7699660839c1be28e28406c
Author: Stefan Metzmacher <metze@xxxxxxxxx>
Date:   Fri Nov 20 12:11:41 2009 +0100

    pidl:NDR/Parser.pm: update ndr_pull->relative_highest_offset after handling 
relative pointers
    
    metze

commit 4b6c03a108c45793232697d0558a98268028646e
Author: Stefan Metzmacher <metze@xxxxxxxxx>
Date:   Fri Nov 20 11:34:53 2009 +0100

    librpc/ndr: remember the highest offset we parsed with relative pointer 
buffers
    
    ndr_*_pull_blob_all() will now work if relative pointers are used.
    
    metze

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

Summary of changes:
 librpc/gen_ndr/ndr_drsblobs.c            |   24 ++
 librpc/gen_ndr/ndr_krb5pac.c             |    3 +
 librpc/gen_ndr/ndr_ntlmssp.c             |   30 +++
 librpc/gen_ndr/ndr_security.c            |   12 +
 librpc/gen_ndr/ndr_spoolss.c             |  414 ++++++++++++++++++++++++++++++
 librpc/gen_ndr/ndr_svcctl.c              |   24 ++
 librpc/ndr/libndr.h                      |    1 +
 librpc/ndr/ndr.c                         |   27 ++-
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |    7 +-
 pidl/lib/Parse/Pidl/Samba4/Python.pm     |   19 +--
 10 files changed, 536 insertions(+), 25 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/ndr_drsblobs.c b/librpc/gen_ndr/ndr_drsblobs.c
index 39c3057..d2b374b 100644
--- a/librpc/gen_ndr/ndr_drsblobs.c
+++ b/librpc/gen_ndr/ndr_drsblobs.c
@@ -583,6 +583,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo1(struct 
ndr_pull *ndr, int ndr_fl
                                NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
                                NDR_CHECK(ndr_pull_repsFromTo1OtherInfo(ndr, 
NDR_SCALARS, r->other_info));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_other_info_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }
@@ -728,6 +731,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->dns_name1, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->dns_name1));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_dns_name1_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -743,6 +749,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_repsFromTo2OtherInfo(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->dns_name2, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->dns_name2));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_dns_name2_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -855,6 +864,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_repsFromTo2(struct 
ndr_pull *ndr, int ndr_fl
                                NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
                                NDR_CHECK(ndr_pull_repsFromTo2OtherInfo(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->other_info));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_other_info_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }
@@ -1847,6 +1859,9 @@ static enum ndr_err_code 
ndr_pull_package_PrimaryKerberosString(struct ndr_pull
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_string, 0, r->size));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1948,6 +1963,9 @@ static enum ndr_err_code 
ndr_pull_package_PrimaryKerberosKey3(struct ndr_pull *n
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_value, 0, r->value_len));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_DATA_BLOB;
@@ -2175,6 +2193,9 @@ static enum ndr_err_code 
ndr_pull_package_PrimaryKerberosKey4(struct ndr_pull *n
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_value, 0, r->value_len));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_DATA_BLOB;
@@ -3045,6 +3066,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_trustCurrentPasswords(struct ndr_pull *ndr,
                                NDR_PULL_SET_MEM_CTX(ndr, 
r->current[cntr_current_0], 0);
                                
NDR_CHECK(ndr_pull_AuthenticationInformation(ndr, NDR_SCALARS, 
r->current[cntr_current_0]));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_current_1, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }
diff --git a/librpc/gen_ndr/ndr_krb5pac.c b/librpc/gen_ndr/ndr_krb5pac.c
index 0f4cfef..1307be4 100644
--- a/librpc/gen_ndr/ndr_krb5pac.c
+++ b/librpc/gen_ndr/ndr_krb5pac.c
@@ -589,6 +589,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct 
ndr_pull *ndr, int ndr
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_DATA_BLOB_REM;
diff --git a/librpc/gen_ndr/ndr_ntlmssp.c b/librpc/gen_ndr/ndr_ntlmssp.c
index b863826..150cc54 100644
--- a/librpc/gen_ndr/ndr_ntlmssp.c
+++ b/librpc/gen_ndr/ndr_ntlmssp.c
@@ -375,6 +375,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_NEGOTIATE_MESSAGE(struct ndr_pull *ndr, int
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_DomainName, 0, r->DomainNameLen));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_DomainName_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -395,6 +398,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_NEGOTIATE_MESSAGE(struct ndr_pull *ndr, int
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_Workstation, 0, r->WorkstationLen));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_Workstation_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1092,6 +1098,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_CHALLENGE_MESSAGE(struct ndr_pull *ndr, int
                                                
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_TargetName, 0, r->TargetNameLen));
                                        }
                                        NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_TargetName_0, 0);
+                                       if (ndr->offset > 
ndr->relative_highest_offset) {
+                                               ndr->relative_highest_offset = 
ndr->offset;
+                                       }
                                        ndr->offset = _relative_save_offset;
                                }
                                ndr->flags = _flags_save_string;
@@ -1109,6 +1118,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_CHALLENGE_MESSAGE(struct ndr_pull *ndr, int
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_TargetInfo, 0, r->TargetInfoLen));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_TargetInfo_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_BUFFERS, 
&r->Version));
@@ -1851,6 +1863,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, i
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_LmChallengeResponse_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        if (r->NtChallengeResponse) {
@@ -1867,6 +1882,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, i
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_NtChallengeResponse, 0, r->NtChallengeResponseMaxLen));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_NtChallengeResponse_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        {
@@ -1885,6 +1903,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, i
                                                
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_DomainName, 0, r->DomainNameLen));
                                        }
                                        NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_DomainName_0, 0);
+                                       if (ndr->offset > 
ndr->relative_highest_offset) {
+                                               ndr->relative_highest_offset = 
ndr->offset;
+                                       }
                                        ndr->offset = _relative_save_offset;
                                }
                                ndr->flags = _flags_save_string;
@@ -1905,6 +1926,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, i
                                                
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_UserName, 0, r->UserNameLen));
                                        }
                                        NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_UserName_0, 0);
+                                       if (ndr->offset > 
ndr->relative_highest_offset) {
+                                               ndr->relative_highest_offset = 
ndr->offset;
+                                       }
                                        ndr->offset = _relative_save_offset;
                                }
                                ndr->flags = _flags_save_string;
@@ -1925,6 +1949,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, i
                                                
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_Workstation, 0, r->WorkstationLen));
                                        }
                                        NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_Workstation_0, 0);
+                                       if (ndr->offset > 
ndr->relative_highest_offset) {
+                                               ndr->relative_highest_offset = 
ndr->offset;
+                                       }
                                        ndr->offset = _relative_save_offset;
                                }
                                ndr->flags = _flags_save_string;
@@ -1942,6 +1969,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_AUTHENTICATE_MESSAGE(struct ndr_pull *ndr, i
                                        NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKeyLen));
                                }
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_EncryptedRandomSessionKey_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        NDR_CHECK(ndr_pull_ntlmssp_Version(ndr, NDR_BUFFERS, 
&r->Version));
diff --git a/librpc/gen_ndr/ndr_security.c b/librpc/gen_ndr/ndr_security.c
index e20776b..081b8cb 100644
--- a/librpc/gen_ndr/ndr_security.c
+++ b/librpc/gen_ndr/ndr_security.c
@@ -707,6 +707,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_security_descriptor(struct ndr_pull *ndr, in
                                NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
                                NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, 
r->owner_sid));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_owner_sid_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        if (r->group_sid) {
@@ -717,6 +720,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_security_descriptor(struct ndr_pull *ndr, in
                                NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
                                NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, 
r->group_sid));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_group_sid_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        if (r->sacl) {
@@ -727,6 +733,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_security_descriptor(struct ndr_pull *ndr, in
                                NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
                                NDR_CHECK(ndr_pull_security_acl(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->sacl));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        if (r->dacl) {
@@ -737,6 +746,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_security_descriptor(struct ndr_pull *ndr, in
                                NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
                                NDR_CHECK(ndr_pull_security_acl(ndr, 
NDR_SCALARS|NDR_BUFFERS, r->dacl));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                }
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index fb452bc..4c36fb1 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -449,6 +449,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->printername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_printername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -464,6 +467,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->servername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_servername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1395,6 +1401,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->description));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_description_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1410,6 +1419,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->name));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1425,6 +1437,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo1(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->comment));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1869,6 +1884,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->servername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_servername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1884,6 +1902,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->printername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_printername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1899,6 +1920,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->sharename));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_sharename_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1914,6 +1938,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->portname));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1929,6 +1956,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->drivername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_drivername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1944,6 +1974,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->comment));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1959,6 +1992,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->location));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -1976,6 +2012,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_devmode, 0, -1));
                        }
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
+                       if (ndr->offset > ndr->relative_highest_offset) {
+                               ndr->relative_highest_offset = ndr->offset;
+                       }
                        ndr->offset = _relative_save_offset;
                }
                {
@@ -1989,6 +2028,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->sepfile));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2004,6 +2046,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->printprocessor));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_printprocessor_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2019,6 +2064,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->datatype));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2034,6 +2082,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->parameters));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_parameters_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2051,6 +2102,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo2(struct ndr_pull *ndr, i
                                NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_secdesc, 0, -1));
                        }
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
+                       if (ndr->offset > ndr->relative_highest_offset) {
+                               ndr->relative_highest_offset = ndr->offset;
+                       }
                        ndr->offset = _relative_save_offset;
                }
        }
@@ -2205,6 +2259,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo3(struct ndr_pull *ndr, i
                                NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_secdesc, 0, -1));
                        }
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
+                       if (ndr->offset > ndr->relative_highest_offset) {
+                               ndr->relative_highest_offset = ndr->offset;
+                       }
                        ndr->offset = _relative_save_offset;
                }
        }
@@ -2318,6 +2375,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->printername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_printername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2333,6 +2393,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo4(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->servername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_servername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2459,6 +2522,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->printername));
                                NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_printername_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2474,6 +2540,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo5(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->portname));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 
0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2632,6 +2701,9 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_spoolss_PrinterInfo7(struct ndr_pull *ndr, i
                                NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
                                NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->guid));
                                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
+                               if (ndr->offset > ndr->relative_highest_offset) 
{
+                                       ndr->relative_highest_offset = 
ndr->offset;
+                               }
                                ndr->offset = _relative_save_offset;
                        }
                        ndr->flags = _flags_save_string;
@@ -2709,6 +2781,9 @@ static enum ndr_err_code 
ndr_pull_spoolss_DeviceModeInfo(struct ndr_pull *ndr, i
                                NDR_CHECK(ndr_pull_subcontext_end(ndr, 
_ndr_devmode, 0, -1));
                        }
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
+                       if (ndr->offset > ndr->relative_highest_offset) {
+                               ndr->relative_highest_offset = ndr->offset;
+                       }
                        ndr->offset = _relative_save_offset;
                }
        }


-- 
Samba Shared Repository

<Prev in Thread] Current Thread [Next in Thread>