summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_reg.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/source3/rpc_server/srv_reg.c b/source3/rpc_server/srv_reg.c
index ea7f3ecd5d..ca3911121f 100644
--- a/source3/rpc_server/srv_reg.c
+++ b/source3/rpc_server/srv_reg.c
@@ -186,7 +186,7 @@ static void reg_reply_info(REG_Q_INFO *q_u,
prs_struct *rdata)
{
uint32 status = 0;
- fstring key = "ServerNT"; /* always a non-PDC */
+ char *key;
uint32 type=0x1; /* key type: REG_SZ */
UNISTR2 uni_key;
@@ -201,6 +201,25 @@ static void reg_reply_info(REG_Q_INFO *q_u,
status = NT_STATUS_INVALID_HANDLE;
}
+ switch (lp_server_role())
+ {
+ case ROLE_DOMAIN_PDC:
+ case ROLE_DOMAIN_BDC:
+ {
+ key = "LanmanNT";
+ break;
+ }
+ case ROLE_STANDALONE:
+ {
+ key = "ServerNT";
+ break;
+ }
+ case ROLE_DOMAIN_MEMBER:
+ {
+ key = "WinNT";
+ break;
+ }
+ }
/* This makes the server look like a member server to clients */
/* which tells clients that we have our own local user and */
/* group databases and helps with ACL support. */