diff options
author | Gerald Carter <jerry@samba.org> | 2003-07-03 17:18:07 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-07-03 17:18:07 +0000 |
commit | 6b31240391949fb6afa83853aa3df30b354d508a (patch) | |
tree | d8c693f80883164f2e7a9fc365f8356372d75113 /source3 | |
parent | 62370b093a336dc78e1e41e444f13baa11ffb140 (diff) | |
download | samba-6b31240391949fb6afa83853aa3df30b354d508a.tar.gz samba-6b31240391949fb6afa83853aa3df30b354d508a.tar.bz2 samba-6b31240391949fb6afa83853aa3df30b354d508a.zip |
Fix for bug #199 (xp driver uploads). Needed to support
the "OSVersion" print server data value.
(This used to be commit 02bc7be1ac6b75bf6559ea684bbc89ab3e19402e)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 217d2cbaea..deca2ad8bb 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -2339,7 +2339,6 @@ static WERROR getprinterdata_printer_server(TALLOC_CTX *ctx, fstring value, uint return WERR_OK; } -#if 0 /* JERRY */ /* REG_BINARY * uint32 size = 0x114 * uint32 major = 5 @@ -2348,14 +2347,23 @@ static WERROR getprinterdata_printer_server(TALLOC_CTX *ctx, fstring value, uint * extra unicode string = e.g. "Service Pack 3" */ if (!StrCaseCmp(value, "OSVersion")) { - *type = 0x4; - if((*data = (uint8 *)talloc(ctx, 4*sizeof(uint8) )) == NULL) + *type = 0x3; + *needed = 0x114; + + if((*data = (uint8 *)talloc(ctx, (*needed)*sizeof(uint8) )) == NULL) return WERR_NOMEM; - SIVAL(*data, 0, 2); - *needed = 0x4; + ZERO_STRUCTP( *data ); + + SIVAL(*data, 0, *needed); /* size */ + SIVAL(*data, 4, 5); /* Windows 2000 == 5.0 */ + SIVAL(*data, 8, 0); + SIVAL(*data, 12, 2195); /* build */ + + /* leave extra string empty */ + return WERR_OK; } -#endif + if (!StrCaseCmp(value, "DefaultSpoolDirectory")) { fstring string; |