svn commit: samba r24151 - in branches/SAMBA_3_2/source/smbd: .

vlendec at samba.org vlendec at samba.org
Fri Aug 3 10:52:00 GMT 2007


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 <kalele at veritas.com>.
 ****************************************************************************/
 
-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;
 	}



More information about the samba-cvs mailing list