summaryrefslogtreecommitdiff
path: root/source3/rpc_server/lsa/srv_lsa_nt.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server/lsa/srv_lsa_nt.c')
-rw-r--r--source3/rpc_server/lsa/srv_lsa_nt.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c
index d235a6542c..1a43b197aa 100644
--- a/source3/rpc_server/lsa/srv_lsa_nt.c
+++ b/source3/rpc_server/lsa/srv_lsa_nt.c
@@ -1531,12 +1531,32 @@ NTSTATUS _lsa_CreateTrustedDomainEx(struct pipes_struct *p,
}
/***************************************************************************
+ _lsa_CreateTrustedDomain
***************************************************************************/
NTSTATUS _lsa_CreateTrustedDomain(struct pipes_struct *p,
struct lsa_CreateTrustedDomain *r)
{
- return NT_STATUS_ACCESS_DENIED;
+ struct lsa_CreateTrustedDomainEx2 c;
+ struct lsa_TrustDomainInfoInfoEx info;
+ struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
+
+ ZERO_STRUCT(auth_info);
+
+ info.domain_name = r->in.info->name;
+ info.netbios_name = r->in.info->name;
+ info.sid = r->in.info->sid;
+ info.trust_direction = LSA_TRUST_DIRECTION_OUTBOUND;
+ info.trust_type = LSA_TRUST_TYPE_DOWNLEVEL;
+ info.trust_attributes = 0;
+
+ c.in.policy_handle = r->in.policy_handle;
+ c.in.info = &info;
+ c.in.auth_info = &auth_info;
+ c.in.access_mask = r->in.access_mask;
+ c.out.trustdom_handle = r->out.trustdom_handle;
+
+ return _lsa_CreateTrustedDomainEx2(p, &c);
}
/***************************************************************************