summaryrefslogtreecommitdiffstats
path: root/librpc
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-12-07 18:55:08 +0100
committerKarolin Seeger <kseeger@samba.org>2009-12-15 08:16:45 +0100
commitcacdb92184f7cc3ec99d28be216fc41f344289e8 (patch)
tree3d055e09b680599dbdb241845c0933f8da0cadd0 /librpc
parent7053b138a4f1620e54de4ba46580e27d4b0f1253 (diff)
downloadsamba-cacdb92184f7cc3ec99d28be216fc41f344289e8.tar.gz
samba-cacdb92184f7cc3ec99d28be216fc41f344289e8.tar.xz
samba-cacdb92184f7cc3ec99d28be216fc41f344289e8.zip
spoolss: fix spoolss_DriverInfo8 IDL.
found by RPC-SPOOLSS torture teset. Guenther (cherry picked from commit efdd60fd9d0b36f924ef467040a1c5e1de5e68c2)
Diffstat (limited to 'librpc')
-rw-r--r--librpc/gen_ndr/ndr_spoolss.c100
-rw-r--r--librpc/gen_ndr/spoolss.h2
-rw-r--r--librpc/idl/spoolss.idl2
3 files changed, 52 insertions, 52 deletions
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index e09802f3d24..63e8aefb877 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -12895,6 +12895,12 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in
ndr->flags = _flags_save_string;
}
{
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
+ ndr->flags = _flags_save_string_array;
+ }
+ {
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
@@ -12909,12 +12915,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
- ndr->flags = _flags_save_string_array;
- }
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
ndr->flags = _flags_save_string_array;
}
@@ -13035,6 +13035,15 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in
ndr->flags = _flags_save_string;
}
{
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ if (r->dependent_files) {
+ NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
+ NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
+ }
+ ndr->flags = _flags_save_string_array;
+ }
+ {
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
@@ -13055,15 +13064,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- if (r->dependent_files) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
- NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
- }
- ndr->flags = _flags_save_string_array;
- }
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->previous_names) {
NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
@@ -13169,12 +13169,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in
TALLOC_CTX *_mem_save_config_file_0;
uint32_t _ptr_help_file;
TALLOC_CTX *_mem_save_help_file_0;
+ uint32_t _ptr_dependent_files;
+ TALLOC_CTX *_mem_save_dependent_files_0;
uint32_t _ptr_monitor_name;
TALLOC_CTX *_mem_save_monitor_name_0;
uint32_t _ptr_default_datatype;
TALLOC_CTX *_mem_save_default_datatype_0;
- uint32_t _ptr_dependent_files;
- TALLOC_CTX *_mem_save_dependent_files_0;
uint32_t _ptr_previous_names;
TALLOC_CTX *_mem_save_previous_names_0;
uint32_t _ptr_manufacturer_name;
@@ -13271,6 +13271,18 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in
ndr->flags = _flags_save_string;
}
{
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
+ if (_ptr_dependent_files) {
+ NDR_PULL_ALLOC(ndr, r->dependent_files);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
+ } else {
+ r->dependent_files = NULL;
+ }
+ ndr->flags = _flags_save_string_array;
+ }
+ {
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
@@ -13297,18 +13309,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
- if (_ptr_dependent_files) {
- NDR_PULL_ALLOC(ndr, r->dependent_files);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
- } else {
- r->dependent_files = NULL;
- }
- ndr->flags = _flags_save_string_array;
- }
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
if (_ptr_previous_names) {
NDR_PULL_ALLOC(ndr, r->previous_names);
@@ -13525,6 +13525,21 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in
ndr->flags = _flags_save_string;
}
{
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ if (r->dependent_files) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
+ _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
+ NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_string_array;
+ }
+ {
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
@@ -13557,21 +13572,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- if (r->dependent_files) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
- _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
- NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
- ndr->offset = _relative_save_offset;
- }
- ndr->flags = _flags_save_string_array;
- }
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->previous_names) {
uint32_t _relative_save_offset;
_relative_save_offset = ndr->offset;
@@ -13764,6 +13764,12 @@ _PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *n
ndr_print_string(ndr, "help_file", r->help_file);
}
ndr->depth--;
+ ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
+ ndr->depth++;
+ if (r->dependent_files) {
+ ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
+ }
+ ndr->depth--;
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
ndr->depth++;
if (r->monitor_name) {
@@ -13776,12 +13782,6 @@ _PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *n
ndr_print_string(ndr, "default_datatype", r->default_datatype);
}
ndr->depth--;
- ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
- ndr->depth++;
- if (r->dependent_files) {
- ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
- }
- ndr->depth--;
ndr_print_ptr(ndr, "previous_names", r->previous_names);
ndr->depth++;
if (r->previous_names) {
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h
index d6c267c82a2..cee9a8fa58e 100644
--- a/librpc/gen_ndr/spoolss.h
+++ b/librpc/gen_ndr/spoolss.h
@@ -1434,9 +1434,9 @@ struct spoolss_DriverInfo8 {
const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
+ const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
- const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */
NTTIME driver_date;
uint64_t driver_version;
diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index 725166f2a69..f6653811999 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -1204,9 +1204,9 @@ import "misc.idl", "security.idl", "winreg.idl";
[relative] nstring *data_file;
[relative] nstring *config_file;
[relative] nstring *help_file;
+ [relative] nstring_array *dependent_files;
[relative] nstring *monitor_name;
[relative] nstring *default_datatype;
- [relative] nstring_array *dependent_files;
[relative] nstring_array *previous_names;
NTTIME driver_date;
hyper driver_version;