summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-09-16 10:07:46 +0000
committerJean-François Micouleau <jfm@samba.org>2000-09-16 10:07:46 +0000
commita2c82976b86cbdddbf9f7cb08f5d461c6cde86c6 (patch)
tree15339e3cdae46e774ce18e209d669669457b3bf7
parent244c29619965779d1076ea47d84d0d7edf3bef2d (diff)
downloadsamba-a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6.tar.gz
samba-a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6.tar.bz2
samba-a2c82976b86cbdddbf9f7cb08f5d461c6cde86c6.zip
in a printer_info_6, driver version is 64 bits long and there is a 32 bit
padding before. J.F. (This used to be commit cd41d7a35477accec1a82b86f9fa3477e5a49d6e)
-rwxr-xr-xsource3/include/rpc_spoolss.h6
-rw-r--r--source3/rpc_parse/parse_spoolss.c12
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c7
3 files changed, 21 insertions, 4 deletions
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 43e81914d0..61b20c36c8 100755
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -53,7 +53,6 @@
#define SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION 0x36
#define SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION 0x37
#define SPOOLSS_ROUTERFINDFIRSTPRINTERNOTIFICATIONOLD 0x39
-#define SPOOLSS_REPLYOPENPRINTER 0x3a
#define SPOOLSS_ROUTERREPLYPRINTER 0x3b
#define SPOOLSS_REPLYCLOSEPRINTER 0x3c
#define SPOOLSS_ADDPORTEX 0x3d
@@ -99,6 +98,7 @@
#define SPOOLSS_GETPRINTERDRIVER2 0x35
/* find close printer notification */
#define SPOOLSS_FCPN 0x38
+#define SPOOLSS_REPLYOPENPRINTER 0x3a
/* remote find first printer change notifyEx */
#define SPOOLSS_RFFPCNEX 0x41
/* remote find next printer change notifyEx */
@@ -918,7 +918,9 @@ typedef struct driver_info_6
UNISTR defaultdatatype;
uint16* previousdrivernames;
NTTIME driver_date;
- uint32 driver_version;
+ uint32 padding;
+ uint32 driver_version_low;
+ uint32 driver_version_high;
UNISTR mfgname;
UNISTR oem_url;
UNISTR hardware_id;
diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c
index bd4ce43836..b9c5ea5daa 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -2283,7 +2283,13 @@ BOOL new_smb_io_printer_driver_info_6(char *desc, NEW_BUFFER *buffer, DRIVER_INF
if (!prs_uint32("date.high", ps, depth, &info->driver_date.high))
return False;
- if (!prs_uint32("driver_version", ps, depth, &info->driver_version))
+ if (!prs_uint32("padding", ps, depth, &info->padding))
+ return False;
+
+ if (!prs_uint32("driver_version_low", ps, depth, &info->driver_version_low))
+ return False;
+
+ if (!prs_uint32("driver_version_high", ps, depth, &info->driver_version_high))
return False;
if (!new_smb_io_relstr("mfgname", buffer, depth, &info->mfgname))
@@ -2908,7 +2914,9 @@ uint32 spoolss_size_printer_driver_info_6(DRIVER_INFO_6 *info)
size+=spoolss_size_string_array(info->previousdrivernames);
size+=size_of_nttime(&info->driver_date);
- size+=size_of_uint32( &info->driver_version );
+ size+=size_of_uint32( &info->padding );
+ size+=size_of_uint32( &info->driver_version_low );
+ size+=size_of_uint32( &info->driver_version_high );
size+=size_of_relative_string( &info->mfgname );
size+=size_of_relative_string( &info->oem_url );
size+=size_of_relative_string( &info->hardware_id );
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index c22767c43a..0430563629 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -2753,6 +2753,13 @@ static void fill_printer_driver_info_6(DRIVER_INFO_6 *info, NT_PRINTER_DRIVER_IN
info->previousdrivernames=NULL;
init_unistr_array(&info->previousdrivernames, &nullstr, servername);
+ info->driver_date.low=0;
+ info->driver_date.high=0;
+
+ info->padding=0;
+ info->driver_version_low=0;
+ info->driver_version_high=0;
+
init_unistr( &info->mfgname, "");
init_unistr( &info->oem_url, "");
init_unistr( &info->hardware_id, "");