diff options
author | Jeremy Allison <jra@samba.org> | 2002-01-07 22:58:33 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-01-07 22:58:33 +0000 |
commit | 25c0c06458af1dab6c797a0b3eb2927225b21570 (patch) | |
tree | 766db1a299f00df69be0485d632e253f63a7ebd6 | |
parent | 5960431d3e7c60b7aaed58af4f89bea93a09a0f6 (diff) | |
download | samba-25c0c06458af1dab6c797a0b3eb2927225b21570.tar.gz samba-25c0c06458af1dab6c797a0b3eb2927225b21570.tar.xz samba-25c0c06458af1dab6c797a0b3eb2927225b21570.zip |
Return called NetBIOS name if present in preference to global_myname.
Should allow print servers to work with NetBIOS aliases.
Needs testing.
Jeremy.
-rw-r--r-- | source/printing/nt_printing.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c index 4131c5bfd5c..094efa61ddf 100644 --- a/source/printing/nt_printing.c +++ b/source/printing/nt_printing.c @@ -22,7 +22,6 @@ #include "includes.h" -extern pstring global_myname; extern DOM_SID global_sid_World; static TDB_CONTEXT *tdb_forms; /* used for forms files */ @@ -2424,16 +2423,18 @@ get a default printer info 2 struct static WERROR get_a_printer_2_default(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstring sharename) { extern pstring global_myname; + extern fstring local_machine; int snum; NT_PRINTER_INFO_LEVEL_2 info; + char *sub_name = *local_machine ? local_machine : global_myname; ZERO_STRUCT(info); snum = lp_servicenumber(sharename); - slprintf(info.servername, sizeof(info.servername)-1, "\\\\%s", global_myname); + slprintf(info.servername, sizeof(info.servername)-1, "\\\\%s", sub_name); slprintf(info.printername, sizeof(info.printername)-1, "\\\\%s\\%s", - global_myname, sharename); + sub_name, sharename); fstrcpy(info.sharename, sharename); fstrcpy(info.portname, SAMBA_PRINTER_PORT_NAME); fstrcpy(info.drivername, lp_printerdriver(snum)); @@ -2508,7 +2509,10 @@ static WERROR get_a_printer_2_default(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstrin ****************************************************************************/ static WERROR get_a_printer_2(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstring sharename) { + extern pstring global_myname; + extern fstring local_machine; pstring key; + char *sub_name = *local_machine ? local_machine : global_myname; NT_PRINTER_INFO_LEVEL_2 info; int len = 0; TDB_DATA kbuf, dbuf; @@ -2554,8 +2558,8 @@ static WERROR get_a_printer_2(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstring sharen info.attributes |= (PRINTER_ATTRIBUTE_SHARED|PRINTER_ATTRIBUTE_RAW_ONLY); /* Restore the stripped strings. */ - slprintf(info.servername, sizeof(info.servername)-1, "\\\\%s", global_myname); - slprintf(printername, sizeof(printername)-1, "\\\\%s\\%s", global_myname, + slprintf(info.servername, sizeof(info.servername)-1, "\\\\%s", sub_name); + slprintf(printername, sizeof(printername)-1, "\\\\%s\\%s", sub_name, info.printername); fstrcpy(info.printername, printername); |