diff options
author | Gerald Carter <jerry@samba.org> | 2003-03-03 17:32:55 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-03-03 17:32:55 +0000 |
commit | cc7f40f4b7c090e73f7cd54e89e3927c8bff0004 (patch) | |
tree | 83ec01c67b19a9bf63fff19c8e53b08e4004880d | |
parent | d95f1e4260e66b0ab37b69105e7cc252e23bee16 (diff) | |
download | samba-cc7f40f4b7c090e73f7cd54e89e3927c8bff0004.tar.gz samba-cc7f40f4b7c090e73f7cd54e89e3927c8bff0004.tar.bz2 samba-cc7f40f4b7c090e73f7cd54e89e3927c8bff0004.zip |
* always report ourselves as a Windows 2000 print server (even
without ADS support)
* add "MinorVersion" print server data key and comment on "OSVersion"
(This used to be commit e1383368169faa50b9e612c9f71f92f790698b48)
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index a966326d3a..5d63f27d23 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -2220,14 +2220,37 @@ static WERROR getprinterdata_printer_server(TALLOC_CTX *ctx, fstring value, uint *type = 0x4; if((*data = (uint8 *)talloc(ctx, 4*sizeof(uint8) )) == NULL) return WERR_NOMEM; -#ifdef HAVE_ADS SIVAL(*data, 0, 3); -#else + *needed = 0x4; + return WERR_OK; + } + + if (!StrCaseCmp(value, "MinorVersion")) { + *type = 0x4; + if((*data = (uint8 *)talloc(ctx, 4*sizeof(uint8) )) == NULL) + return WERR_NOMEM; + SIVAL(*data, 0, 0); + *needed = 0x4; + return WERR_OK; + } + +#if 0 /* JERRY */ + /* REG_BINARY + * uint32 size = 0x114 + * uint32 major = 5 + * uint32 minor = [0|1] + * uint32 build = [2195|2600] + * extra unicode string = e.g. "Service Pack 3" + */ + if (!StrCaseCmp(value, "OSVersion")) { + *type = 0x4; + if((*data = (uint8 *)talloc(ctx, 4*sizeof(uint8) )) == NULL) + return WERR_NOMEM; SIVAL(*data, 0, 2); -#endif *needed = 0x4; return WERR_OK; } +#endif if (!StrCaseCmp(value, "DefaultSpoolDirectory")) { fstring string; @@ -3843,13 +3866,11 @@ static BOOL construct_printer_info_0(Printer_entry *print_hnd, PRINTER_INFO_0 *p printer->global_counter = global_counter; printer->total_pages = 0; -#ifdef HAVE_ADS + + /* in 2.2 we reported ourselves as 0x0004 and 0x0565 */ printer->major_version = 0x0005; /* NT 5 */ printer->build_version = 0x0893; /* build 2195 */ -#else - printer->major_version = 0x0004; /* NT 4 */ - printer->build_version = 0x0565; /* build 1381 */ -#endif + printer->unknown7 = 0x1; printer->unknown8 = 0x0; printer->unknown9 = 0x0; |