Author: vlendec
Date: 2007-08-03 10:51:59 +0000 (Fri, 03 Aug 2007)
New Revision: 24151

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24151

Log:
Convert call_trans2getdfsreferral to the new API
Modified:
   branches/SAMBA_3_2/source/smbd/trans2.c


Changeset:
Modified: branches/SAMBA_3_2/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/trans2.c     2007-08-03 10:32:41 UTC (rev 
24150)
+++ branches/SAMBA_3_2/source/smbd/trans2.c     2007-08-03 10:51:59 UTC (rev 
24151)
@@ -6689,9 +6689,11 @@
  Reply to a TRANS2_GET_DFS_REFERRAL - Shirish Kalele <[EMAIL PROTECTED]>.
 ****************************************************************************/
 
-static int call_trans2getdfsreferral(connection_struct *conn, char* inbuf, 
char* outbuf, int length, int bufsize,
-                                       char **pparams, int total_params, char 
**ppdata, int total_data,
-                                       unsigned int max_data_bytes)
+static void call_trans2getdfsreferral(connection_struct *conn,
+                                     struct smb_request *req,
+                                     char **pparams, int total_params,
+                                     char **ppdata, int total_data,
+                                     unsigned int max_data_bytes)
 {
        char *params = *pparams;
        pstring pathname;
@@ -6702,23 +6704,30 @@
        DEBUG(10,("call_trans2getdfsreferral\n"));
 
        if (total_params < 3) {
-               return ERROR_NT(NT_STATUS_INVALID_PARAMETER);
+               reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
+               return;
        }
 
        max_referral_level = SVAL(params,0);
 
-       if(!lp_host_msdfs())
-               return ERROR_DOS(ERRDOS,ERRbadfunc);
+       if(!lp_host_msdfs()) {
+               reply_doserror(req, ERRDOS, ERRbadfunc);
+               return;
+       }
 
-       srvstr_pull(inbuf, SVAL(inbuf, smb_flg2), pathname, &params[2],
+       srvstr_pull(params, req->flags2, pathname, &params[2],
                    sizeof(pathname), total_params - 2, STR_TERMINATE);
-       if((reply_size = setup_dfs_referral(conn, 
pathname,max_referral_level,ppdata,&status)) < 0)
-               return ERROR_NT(status);
+       if((reply_size = setup_dfs_referral(conn, pathname, max_referral_level,
+                                           ppdata,&status)) < 0) {
+               reply_nterror(req, status);
+               return;
+       }
     
-       SSVAL(outbuf,smb_flg2,SVAL(outbuf,smb_flg2) | FLAGS2_DFS_PATHNAMES);
-       send_trans2_replies(inbuf, outbuf,bufsize,0,0,*ppdata,reply_size, 
max_data_bytes);
+       SSVAL(req->inbuf, smb_flg2,
+             SVAL(req->inbuf,smb_flg2) | FLAGS2_DFS_PATHNAMES);
+       send_trans2_replies_new(req,0,0,*ppdata,reply_size, max_data_bytes);
 
-       return(-1);
+       return;
 }
 
 #define LMCAT_SPL       0x53
@@ -6944,11 +6953,10 @@
        case TRANSACT2_GET_DFS_REFERRAL:
        {
                START_PROFILE(Trans2_get_dfs_referral);
-               outsize = call_trans2getdfsreferral(
-                       conn, inbuf, outbuf, size, bufsize,
-                       &state->param, state->total_param,
-                       &state->data, state->total_data,
-                       state->max_data_return);
+               call_trans2getdfsreferral(conn, req,
+                                         &state->param, state->total_param,
+                                         &state->data, state->total_data,
+                                         state->max_data_return);
                END_PROFILE(Trans2_get_dfs_referral);
                break;
        }

Reply via email to