s3-lsa: implement _lsa_CreateTrustedDomain().
authorGünther Deschner <gd@samba.org>
Thu, 16 Jul 2009 12:34:06 +0000 (14:34 +0200)
committerGünther Deschner <gd@samba.org>
Wed, 16 Feb 2011 10:35:20 +0000 (11:35 +0100)
Guenther

Signed-off-by: Günther Deschner <gd@samba.org>
source3/rpc_server/lsa/srv_lsa_nt.c

index d235a6542c7647d547f2c1eaa0ce0b5734cf7784..1a43b197aa3be755d01d3e5f635878a959fbb92a 100644 (file)
@@ -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);
 }
 
 /***************************************************************************