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, ¶ms[2], + srvstr_pull(params, req->flags2, pathname, ¶ms[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; }
