added a stub for what i *think* is SamrRemoveForiegnMemberFromDomain, but
authorLuke Leighton <lkcl@samba.org>
Wed, 16 Feb 2000 05:01:38 +0000 (05:01 +0000)
committerLuke Leighton <lkcl@samba.org>
Wed, 16 Feb 2000 05:01:38 +0000 (05:01 +0000)
it's known here as _samr_unknown_2d().

source/include/proto.h
source/rpc_server/srv_samr.c
source/samrd/srv_samr_dom_nt5ldap.c
source/samrd/srv_samr_dom_tdb.c
source/samrd/srv_samr_passdb.c

index caede33a8af1be0fff9c4c0e5fae482ec228c2a8..2d8b345ed6e6161593d3acfc9c624a257fb91d4d 100644 (file)
@@ -3765,6 +3765,7 @@ uint32 _samr_query_dom_info(const POLICY_HND *domain_pol,
 uint32 _samr_set_groupinfo(const POLICY_HND *pol,
                                uint16 switch_level,
                                const GROUP_INFO_CTR* ctr);
+uint32 _samr_unknown_2d(const POLICY_HND *domain_pol, const DOM_SID *sid);
 
 /*The following definitions come from  samrd/srv_samr_dom_tdb.c  */
 
@@ -3814,6 +3815,7 @@ uint32 _samr_lookup_rids(const POLICY_HND *dom_pol,
 uint32 _samr_query_dom_info(const POLICY_HND *domain_pol,
                                uint16 switch_value,
                                SAM_UNK_CTR *ctr);
+uint32 _samr_unknown_2d(const POLICY_HND *domain_pol, const DOM_SID *sid);
 
 /*The following definitions come from  samrd/srv_samr_grp_tdb.c  */
 
@@ -3866,6 +3868,7 @@ BOOL pwdbsam_initialise(void);
 /*The following definitions come from  samrd/srv_samr_passdb.c  */
 
 uint32 _samr_close(POLICY_HND *hnd);
+uint32 _samr_unknown_2d(const POLICY_HND *domain_pol, const DOM_SID *sid);
 uint32 _samr_open_domain(const POLICY_HND *connect_pol,
                                uint32 ace_perms,
                                const DOM_SID *sid,
index 3303f5ad248c362797b506825bfb378fc7e7e5ce..d92e299cb5003d58a0bb92ff46966af552dd0ac8 100644 (file)
@@ -45,15 +45,27 @@ static BOOL api_samr_close_hnd( rpcsrv_struct *p, prs_struct *data, prs_struct *
        {
                return False;
        }
-
-
        r_u.status = _samr_close(&q_u.pol);
-
        memcpy(&r_u.pol, &q_u.pol, sizeof(q_u.pol));
        return samr_io_r_close_hnd("", &r_u, rdata, 0);
 }
 
 
+/*******************************************************************
+ api_samr_unknown_2d
+ ********************************************************************/
+static BOOL api_samr_unknown_2d( rpcsrv_struct *p, prs_struct *data, prs_struct *rdata)
+{
+       SAMR_Q_UNKNOWN_2D q_u;
+       SAMR_R_UNKNOWN_2D r_u;
+       if (!samr_io_q_unknown_2d("", &q_u, data, 0))
+       {
+               return False;
+       }
+       r_u.status = _samr_unknown_2d(&q_u.dom_pol, &q_u.sid.sid);
+       return samr_io_r_unknown_2d("", &r_u, rdata, 0);
+}
+
 /*******************************************************************
  api_samr_open_domain
  ********************************************************************/
@@ -1143,6 +1155,7 @@ static const struct api_struct api_samr_cmds [] =
        { "SAMR_OPEN_ALIAS"       , SAMR_OPEN_ALIAS       , api_samr_open_alias       },
        { "SAMR_OPEN_GROUP"       , SAMR_OPEN_GROUP       , api_samr_open_group       },
        { "SAMR_OPEN_DOMAIN"      , SAMR_OPEN_DOMAIN      , api_samr_open_domain      },
+       { "SAMR_UNKNOWN_2D"       , SAMR_UNKNOWN_2D       , api_samr_unknown_2d       },
        { "SAMR_LOOKUP_DOMAIN"    , SAMR_LOOKUP_DOMAIN    , api_samr_lookup_domain    },
        { "SAMR_QUERY_SEC_OBJECT" , SAMR_QUERY_SEC_OBJECT , api_samr_query_sec_obj    },
        { "SAMR_GET_USRDOM_PWINFO", SAMR_GET_USRDOM_PWINFO, api_samr_get_usrdom_pwinfo},
index 82df7a9dc9ef8b9425be9a3581e8062fce419408..b703f27c32aa937c6425af007369d4b287f03471 100644 (file)
@@ -611,3 +611,13 @@ uint32 _samr_set_groupinfo(const POLICY_HND *pol,
 {
        return NT_STATUS_ACCESS_DENIED;
 }
+
+/*******************************************************************
+ samr_reply_unknown_2d
+ ********************************************************************/
+uint32 _samr_unknown_2d(const POLICY_HND *domain_pol, const DOM_SID *sid)
+{
+       DEBUG(0,("_samr_unknown_2d: not implemented, returning OK\n"));
+
+       return NT_STATUS_NOPROBLEMO;
+}
index b5f83a64b3ce25dce8368043dc159f870c0c758a..5f3159168f975a0b2e3cb32804e2143baa0fb635 100644 (file)
@@ -983,3 +983,12 @@ uint32 _samr_query_dom_info(const POLICY_HND *domain_pol,
        return NT_STATUS_NOPROBLEMO;
 }
 
+
+/*******************************************************************
+ samr_reply_unknown_2d
+ ********************************************************************/
+uint32 _samr_unknown_2d(const POLICY_HND *domain_pol, const DOM_SID *sid)
+{
+       DEBUG(0,("_samr_unknown_2d: not implemented, returning OK\n"));
+       return NT_STATUS_NOPROBLEMO;
+}
index a6d9e5bf93f1fa1c89eee5ec3bd86259cac8e5d7..d866fb696f0b0c3a4f67216c52f36682fd434183 100644 (file)
@@ -204,6 +204,25 @@ uint32 _samr_close(POLICY_HND *hnd)
        return NT_STATUS_OBJECT_NAME_INVALID;
 }
 
+/*******************************************************************
+ samr_reply_unknown_2d
+ ********************************************************************/
+uint32 _samr_unknown_2d(const POLICY_HND *domain_pol, const DOM_SID *sid)
+{
+       DOM_SID dom_sid;
+
+       /* associate the domain SID with the (unique) handle. */
+       if (!get_policy_samr_sid(get_global_hnd_cache(), domain_pol, &dom_sid))
+       {
+               return NT_STATUS_ACCESS_DENIED;
+       }
+
+       DEBUG(0,("_samr_unknown_2d: not implemented, returning OK\n"));
+       DEBUG(5,("_samr_unknown_2d: %d\n", __LINE__));
+
+       return NT_STATUS_NOPROBLEMO;
+}
+
 /*******************************************************************
  samr_reply_open_domain
  ********************************************************************/