diff options
Diffstat (limited to 'source4/cldap_server')
-rw-r--r-- | source4/cldap_server/netlogon.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/cldap_server/netlogon.c b/source4/cldap_server/netlogon.c index 33f8734278..8dd7d549b4 100644 --- a/source4/cldap_server/netlogon.c +++ b/source4/cldap_server/netlogon.c @@ -108,6 +108,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd, switch (version & 0xF) { case 0: case 1: + netlogon->logon1.type = (user?19+2:19); netlogon->logon1.pdc_name = pdc_name; netlogon->logon1.user_name = user; netlogon->logon1.domain_name = flatname; @@ -117,6 +118,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd, break; case 2: case 3: + netlogon->logon3.type = (user?19+2:19); netlogon->logon3.pdc_name = pdc_name; netlogon->logon3.user_name = user; netlogon->logon3.domain_name = flatname; @@ -133,6 +135,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd, case 5: case 6: case 7: + netlogon->logon5.type = (user?23+2:23); netlogon->logon5.server_type = server_type; netlogon->logon5.domain_uuid = domain_uuid; netlogon->logon5.forest = realm; @@ -147,6 +150,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd, netlogon->logon5.lm20_token = 0xFFFF; break; default: + netlogon->logon13.type = (user?23+2:23); netlogon->logon13.server_type = server_type; netlogon->logon13.domain_uuid = domain_uuid; netlogon->logon13.forest = realm; @@ -181,7 +185,7 @@ void cldapd_netlogon_request(struct cldap_socket *cldap, int i; const char *domain = NULL; const char *host = NULL; - const char *user = ""; + const char *user = NULL; const char *domain_guid = NULL; const char *domain_sid = NULL; int acct_control = -1; |