RIP BOOL. Convert BOOL -> bool. I found a few interesting
[mimir/samba.git] / source3 / rpc_server / srv_netlog.c
index 9c10d86379dff4f3f75d225292ea82440725da34..6d9859a9ae0f2e168c4c752f91f7f242f4de1cb6 100644 (file)
@@ -9,7 +9,7 @@
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
+ *  the Free Software Foundation; either version 3 of the License, or
  *  (at your option) any later version.
  *  
  *  This program is distributed in the hope that it will be useful,
@@ -18,8 +18,7 @@
  *  GNU General Public License for more details.
  *  
  *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 /* This is the interface to the netlogon pipe. */
@@ -33,7 +32,7 @@
  api_net_req_chal:
  *************************************************************************/
 
-static BOOL api_net_req_chal(pipes_struct *p)
+static bool api_net_req_chal(pipes_struct *p)
 {
        NET_Q_REQ_CHAL q_u;
        NET_R_REQ_CHAL r_u;
@@ -64,7 +63,7 @@ static BOOL api_net_req_chal(pipes_struct *p)
  api_net_auth:
  *************************************************************************/
 
-static BOOL api_net_auth(pipes_struct *p)
+static bool api_net_auth(pipes_struct *p)
 {
        NET_Q_AUTH q_u;
        NET_R_AUTH r_u;
@@ -95,7 +94,7 @@ static BOOL api_net_auth(pipes_struct *p)
  api_net_auth_2:
  *************************************************************************/
 
-static BOOL api_net_auth_2(pipes_struct *p)
+static bool api_net_auth_2(pipes_struct *p)
 {
        NET_Q_AUTH_2 q_u;
        NET_R_AUTH_2 r_u;
@@ -126,7 +125,7 @@ static BOOL api_net_auth_2(pipes_struct *p)
  api_net_srv_pwset:
  *************************************************************************/
 
-static BOOL api_net_srv_pwset(pipes_struct *p)
+static bool api_net_srv_pwset(pipes_struct *p)
 {
        NET_Q_SRV_PWSET q_u;
        NET_R_SRV_PWSET r_u;
@@ -157,7 +156,7 @@ static BOOL api_net_srv_pwset(pipes_struct *p)
  api_net_sam_logoff:
  *************************************************************************/
 
-static BOOL api_net_sam_logoff(pipes_struct *p)
+static bool api_net_sam_logoff(pipes_struct *p)
 {
        NET_Q_SAM_LOGOFF q_u;
        NET_R_SAM_LOGOFF r_u;
@@ -187,7 +186,7 @@ static BOOL api_net_sam_logoff(pipes_struct *p)
  api_net_sam_logon:
  *************************************************************************/
 
-static BOOL api_net_sam_logon(pipes_struct *p)
+static bool api_net_sam_logon(pipes_struct *p)
 {
        NET_Q_SAM_LOGON q_u;
        NET_R_SAM_LOGON r_u;
@@ -197,10 +196,10 @@ static BOOL api_net_sam_logon(pipes_struct *p)
        ZERO_STRUCT(q_u);
        ZERO_STRUCT(r_u);
 
-    if(!net_io_q_sam_logon("", &q_u, data, 0)) {
-        DEBUG(0, ("api_net_sam_logon: Failed to unmarshall NET_Q_SAM_LOGON.\n"));
-        return False;
-    }
+       if(!net_io_q_sam_logon("", &q_u, data, 0)) {
+               DEBUG(0, ("api_net_sam_logon: Failed to unmarshall NET_Q_SAM_LOGON.\n"));
+               return False;
+       }
    
        r_u.status = _net_sam_logon(p, &q_u, &r_u);
 
@@ -210,14 +209,14 @@ static BOOL api_net_sam_logon(pipes_struct *p)
                return False;
        }
 
-    return True;
+       return True;
 }
 
 /*************************************************************************
  api_net_trust_dom_list:
  *************************************************************************/
 
-static BOOL api_net_trust_dom_list(pipes_struct *p)
+static bool api_net_trust_dom_list(pipes_struct *p)
 {
        NET_Q_TRUST_DOM_LIST q_u;
        NET_R_TRUST_DOM_LIST r_u;
@@ -227,8 +226,6 @@ static BOOL api_net_trust_dom_list(pipes_struct *p)
        ZERO_STRUCT(q_u);
        ZERO_STRUCT(r_u);
 
-       DEBUG(6,("api_net_trust_dom_list: %d\n", __LINE__));
-
        /* grab the lsa trusted domain list query... */
        if(!net_io_q_trust_dom("", &q_u, data, 0)) {
                DEBUG(0,("api_net_trust_dom_list: Failed to unmarshall NET_Q_TRUST_DOM_LIST.\n"));
@@ -244,8 +241,6 @@ static BOOL api_net_trust_dom_list(pipes_struct *p)
                return False;
        }
 
-       DEBUG(6,("api_net_trust_dom_list: %d\n", __LINE__));
-
        return True;
 }
 
@@ -253,7 +248,7 @@ static BOOL api_net_trust_dom_list(pipes_struct *p)
  api_net_logon_ctrl2:
  *************************************************************************/
 
-static BOOL api_net_logon_ctrl2(pipes_struct *p)
+static bool api_net_logon_ctrl2(pipes_struct *p)
 {
        NET_Q_LOGON_CTRL2 q_u;
        NET_R_LOGON_CTRL2 r_u;
@@ -263,7 +258,6 @@ static BOOL api_net_logon_ctrl2(pipes_struct *p)
        ZERO_STRUCT(q_u);
        ZERO_STRUCT(r_u);
 
-       DEBUG(6,("api_net_logon_ctrl2: %d\n", __LINE__));
 
        /* grab the lsa netlogon ctrl2 query... */
        if(!net_io_q_logon_ctrl2("", &q_u, data, 0)) {
@@ -278,8 +272,6 @@ static BOOL api_net_logon_ctrl2(pipes_struct *p)
                return False;
        }
 
-       DEBUG(6,("api_net_logon_ctrl2: %d\n", __LINE__));
-
        return True;
 }
 
@@ -287,7 +279,7 @@ static BOOL api_net_logon_ctrl2(pipes_struct *p)
  api_net_logon_ctrl:
  *************************************************************************/
 
-static BOOL api_net_logon_ctrl(pipes_struct *p)
+static bool api_net_logon_ctrl(pipes_struct *p)
 {
        NET_Q_LOGON_CTRL q_u;
        NET_R_LOGON_CTRL r_u;
@@ -297,8 +289,6 @@ static BOOL api_net_logon_ctrl(pipes_struct *p)
        ZERO_STRUCT(q_u);
        ZERO_STRUCT(r_u);
 
-       DEBUG(6,("api_net_logon_ctrl: %d\n", __LINE__));
-
        /* grab the lsa netlogon ctrl query... */
        if(!net_io_q_logon_ctrl("", &q_u, data, 0)) {
                DEBUG(0,("api_net_logon_ctrl: Failed to unmarshall NET_Q_LOGON_CTRL.\n"));
@@ -308,14 +298,79 @@ static BOOL api_net_logon_ctrl(pipes_struct *p)
        r_u.status = _net_logon_ctrl(p, &q_u, &r_u);
 
        if(!net_io_r_logon_ctrl("", &r_u, rdata, 0)) {
-               DEBUG(0,("net_reply_logon_ctrl2: Failed to marshall NET_R_LOGON_CTRL2.\n"));
+               DEBUG(0,("net_reply_logon_ctrl2: Failed to marshall NET_R_LOGON_CTRL.\n"));
+               return False;
+       }
+
+       return True;
+}
+
+/*************************************************************************
+ api_net_sam_logon_ex:
+ *************************************************************************/
+
+static bool api_net_sam_logon_ex(pipes_struct *p)
+{
+       NET_Q_SAM_LOGON_EX q_u;
+       NET_R_SAM_LOGON_EX r_u;
+       prs_struct *data = &p->in_data.data;
+       prs_struct *rdata = &p->out_data.rdata;
+    
+       ZERO_STRUCT(q_u);
+       ZERO_STRUCT(r_u);
+
+       if(!net_io_q_sam_logon_ex("", &q_u, data, 0)) {
+               DEBUG(0, ("api_net_sam_logon_ex: Failed to unmarshall NET_Q_SAM_LOGON_EX.\n"));
+               return False;
+       }
+   
+       r_u.status = _net_sam_logon_ex(p, &q_u, &r_u);
+
+       /* store the response in the SMB stream */
+       if(!net_io_r_sam_logon_ex("", &r_u, rdata, 0)) {
+               DEBUG(0,("api_net_sam_logon_ex: Failed to marshall NET_R_SAM_LOGON_EX.\n"));
+               return False;
+       }
+
+       return True;
+}
+
+
+/*************************************************************************
+ api_ds_enum_dom_trusts:
+ *************************************************************************/
+
+#if 0  /* JERRY */
+static bool api_ds_enum_dom_trusts(pipes_struct *p)
+{
+       DS_Q_ENUM_DOM_TRUSTS q_u;
+       DS_R_ENUM_DOM_TRUSTS r_u;
+
+       prs_struct *data = &p->in_data.data;
+       prs_struct *rdata = &p->out_data.rdata;
+
+       ZERO_STRUCT(q_u);
+       ZERO_STRUCT(r_u);
+
+       DEBUG(6,("api_ds_enum_dom_trusts\n"));
+
+       if ( !ds_io_q_enum_domain_trusts("", data, 0, &q_u) ) {
+               DEBUG(0,("api_ds_enum_domain_trusts: Failed to unmarshall DS_Q_ENUM_DOM_TRUSTS.\n"));
+               return False;
+       }
+
+       r_u.status = _ds_enum_dom_trusts(p, &q_u, &r_u);
+
+       if ( !ds_io_r_enum_domain_trusts("", rdata, 0, &r_u) ) {
+               DEBUG(0,("api_ds_enum_domain_trusts: Failed to marshall DS_R_ENUM_DOM_TRUSTS.\n"));
                return False;
        }
 
-       DEBUG(6,("api_net_logon_ctrl2: %d\n", __LINE__));
+       DEBUG(6,("api_ds_enum_dom_trusts\n"));
 
        return True;
 }
+#endif /* JERRY */
 
 /*******************************************************************
  array of \PIPE\NETLOGON operations
@@ -330,7 +385,11 @@ static struct api_struct api_net_cmds [] =
       { "NET_SAMLOGOFF"     , NET_SAMLOGOFF     , api_net_sam_logoff     }, 
       { "NET_LOGON_CTRL2"   , NET_LOGON_CTRL2   , api_net_logon_ctrl2    }, 
       { "NET_TRUST_DOM_LIST", NET_TRUST_DOM_LIST, api_net_trust_dom_list },
-      { "NET_LOGON_CTRL"    , NET_LOGON_CTRL    , api_net_logon_ctrl     }
+      { "NET_LOGON_CTRL"    , NET_LOGON_CTRL    , api_net_logon_ctrl     },
+      { "NET_SAMLOGON_EX"   , NET_SAMLOGON_EX   , api_net_sam_logon_ex   },
+#if 0  /* JERRY */
+      { "DS_ENUM_DOM_TRUSTS", DS_ENUM_DOM_TRUSTS, api_ds_enum_dom_trusts }
+#endif /* JERRY */
     };
 
 void netlog_get_pipe_fns( struct api_struct **fns, int *n_fns )