first pass at updating head branch to be to be the same as the SAMBA_2_0 branch
[mimir/samba.git] / source3 / rpc_server / srv_reg.c
index 47ead002272a5f46d7f05f26690d831d721f6114..fc3ce9c0d23042d32defb08a7550c898be137646 100644 (file)
@@ -1,4 +1,3 @@
-
 /* 
  *  Unix SMB/Netbios implementation.
  *  Version 1.9.
@@ -38,7 +37,7 @@ static void reg_reply_close(REG_Q_CLOSE *q_r,
        REG_R_CLOSE r_u;
 
        /* set up the REG unknown_1 response */
-       bzero(r_u.pol.data, POL_HND_SIZE);
+       memset((char *)r_u.pol.data, '\0', POL_HND_SIZE);
 
        /* close the policy handle */
        if (close_lsa_policy_hnd(&(q_r->pol)))
@@ -61,7 +60,7 @@ static void reg_reply_close(REG_Q_CLOSE *q_r,
 /*******************************************************************
  api_reg_close
  ********************************************************************/
-static void api_reg_close( uint16 vuid, prs_struct *data,
+static BOOL api_reg_close( uint16 vuid, prs_struct *data,
                                     prs_struct *rdata )
 {
        REG_Q_CLOSE q_r;
@@ -71,6 +70,8 @@ static void api_reg_close( uint16 vuid, prs_struct *data,
 
        /* construct reply.  always indicate success */
        reg_reply_close(&q_r, rdata);
+
+       return True;
 }
 
 
@@ -100,7 +101,7 @@ static void reg_reply_open(REG_Q_OPEN_HKLM *q_r,
 /*******************************************************************
  api_reg_open
  ********************************************************************/
-static void api_reg_open( uint16 vuid, prs_struct *data,
+static BOOL api_reg_open( uint16 vuid, prs_struct *data,
                                     prs_struct *rdata )
 {
        REG_Q_OPEN_HKLM q_u;
@@ -110,6 +111,8 @@ static void api_reg_open( uint16 vuid, prs_struct *data,
 
        /* construct reply.  always indicate success */
        reg_reply_open(&q_u, rdata);
+
+       return True;
 }
 
 
@@ -136,7 +139,7 @@ static void reg_reply_open_entry(REG_Q_OPEN_ENTRY *q_u,
                status = 0xC000000 | NT_STATUS_TOO_MANY_SECRETS; /* ha ha very droll */
        }
 
-       unistr2_to_ascii(name, &q_u->uni_name, sizeof(name)-1);
+       fstrcpy(name, dos_unistrn2(q_u->uni_name.buffer, q_u->uni_name.uni_str_len));
 
        if (status == 0x0)
        {
@@ -149,7 +152,7 @@ static void reg_reply_open_entry(REG_Q_OPEN_ENTRY *q_u,
                status = 0xC000000 | NT_STATUS_TOO_MANY_SECRETS; /* ha ha very droll */
        }
 
-       make_reg_r_open_entry(&r_u, &pol, status);
+       init_reg_r_open_entry(&r_u, &pol, status);
 
        /* store the response in the SMB stream */
        reg_io_r_open_entry("", &r_u, rdata, 0);
@@ -160,7 +163,7 @@ static void reg_reply_open_entry(REG_Q_OPEN_ENTRY *q_u,
 /*******************************************************************
  api_reg_open_entry
  ********************************************************************/
-static void api_reg_open_entry( uint16 vuid, prs_struct *data,
+static BOOL api_reg_open_entry( uint16 vuid, prs_struct *data,
                                     prs_struct *rdata )
 {
        REG_Q_OPEN_ENTRY q_u;
@@ -170,6 +173,8 @@ static void api_reg_open_entry( uint16 vuid, prs_struct *data,
 
        /* construct reply. */
        reg_reply_open_entry(&q_u, rdata);
+
+       return True;
 }
 
 
@@ -194,7 +199,7 @@ static void reg_reply_info(REG_Q_INFO *q_u,
        {
        }
 
-       make_reg_r_info(&r_u, 1, "LanmanNT", status);
+       init_reg_r_info(&r_u, 1, "LanmanNT", 0x12, 0x12, status);
 
        /* store the response in the SMB stream */
        reg_io_r_info("", &r_u, rdata, 0);
@@ -205,7 +210,7 @@ static void reg_reply_info(REG_Q_INFO *q_u,
 /*******************************************************************
  api_reg_info
  ********************************************************************/
-static void api_reg_info( uint16 vuid, prs_struct *data,
+static BOOL api_reg_info( uint16 vuid, prs_struct *data,
                                     prs_struct *rdata )
 {
        REG_Q_INFO q_u;
@@ -215,6 +220,8 @@ static void api_reg_info( uint16 vuid, prs_struct *data,
 
        /* construct reply.  always indicate success */
        reg_reply_info(&q_u, rdata);
+
+       return True;
 }