diff options
Diffstat (limited to 'source3/lib/substitute.c')
-rw-r--r-- | source3/lib/substitute.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source3/lib/substitute.c b/source3/lib/substitute.c index f25e5468aa..15862f7a96 100644 --- a/source3/lib/substitute.c +++ b/source3/lib/substitute.c @@ -385,20 +385,20 @@ void standard_sub_basic(const char *smb_name, char *str,size_t len) case 'i' : string_sub(p,"%i", client_socket_addr(),l); break; - case 'L' : + case 'L' : + if (!StrnCaseCmp(p, "\%LOGONSERVER\%", 13)) { + p++; + break; + } + if (local_machine_name && *local_machine_name) { - if (IS_DC) - string_sub(p, "\%LOGONSERVER\%", local_machine_name, l); - string_sub(p,"%L", local_machine_name,l); + string_sub_once(p, "%L", local_machine_name, l); } else { pstring temp_name; pstrcpy(temp_name, global_myname()); strlower_m(temp_name); - if (IS_DC) - string_sub(p, "\%LOGONSERVER\%", temp_name,l); - - string_sub(p,"%L", temp_name,l); + string_sub_once(p, "%L", temp_name, l); } break; case 'M' : |