s4:dcesrv_netr_DsRGetSiteName - provide an implementation according to the MS-NRPC...
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 18 Apr 2010 17:01:18 +0000 (19:01 +0200)
committerAndrew Tridgell <tridge@samba.org>
Tue, 27 Apr 2010 05:24:41 +0000 (15:24 +1000)
Signed-off-by: Andrew Tridgell <tridge@samba.org>
source4/rpc_server/netlogon/dcerpc_netlogon.c

index c5a9b302ac62df260f959017997e5d5523a9f6e1..216c5a2c4ffa0c2db9f0c0c0949ead75a59d2371 100644 (file)
@@ -1136,7 +1136,19 @@ static WERROR dcesrv_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct dcesrv_call_state
 static WERROR dcesrv_netr_DsRGetSiteName(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
                                  struct netr_DsRGetSiteName *r)
 {
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+       struct ldb_context *sam_ctx;
+       struct loadparm_context *lp_ctx = dce_call->conn->dce_ctx->lp_ctx;
+
+       sam_ctx = samdb_connect(mem_ctx, dce_call->event_ctx, lp_ctx,
+                               dce_call->conn->auth_state.session_info);
+       if (sam_ctx == NULL) {
+               return WERR_DS_UNAVAILABLE;
+       }
+
+       *r->out.site = samdb_server_site_name(sam_ctx, mem_ctx);
+       W_ERROR_HAVE_NO_MEMORY(*r->out.site);
+
+       return WERR_OK;
 }