svn commit: samba r24401 - in branches/SAMBA_3_2/source/smbd: .
vlendec at samba.org
vlendec at samba.org
Tue Aug 14 08:24:02 GMT 2007
Author: vlendec
Date: 2007-08-14 08:24:02 +0000 (Tue, 14 Aug 2007)
New Revision: 24401
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24401
Log:
Push reply_prep_legacy into send_nt_replies
Modified:
branches/SAMBA_3_2/source/smbd/nttrans.c
Changeset:
Modified: branches/SAMBA_3_2/source/smbd/nttrans.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/nttrans.c 2007-08-14 08:23:54 UTC (rev 24400)
+++ branches/SAMBA_3_2/source/smbd/nttrans.c 2007-08-14 08:24:02 UTC (rev 24401)
@@ -67,14 +67,9 @@
HACK ! Always assumes smb_setup field is zero.
****************************************************************************/
-static int send_nt_replies(const char *inbuf,
- char *outbuf,
- int bufsize,
- NTSTATUS nt_error,
- char *params,
- int paramsize,
- char *pdata,
- int datasize)
+void send_nt_replies(struct smb_request *req, NTSTATUS nt_error,
+ char *params, int paramsize,
+ char *pdata, int datasize)
{
int data_to_send = datasize;
int params_to_send = paramsize;
@@ -90,6 +85,14 @@
* transNT replies.
*/
+ char *inbuf, *outbuf;
+ int length, bufsize;
+
+ if (!reply_prep_legacy(req, &inbuf, &outbuf, &length, &bufsize)) {
+ reply_nterror(req, NT_STATUS_NO_MEMORY);
+ return;
+ }
+
set_message(inbuf,outbuf,18,0,True);
if (NT_STATUS_V(nt_error)) {
@@ -106,7 +109,8 @@
if (!send_smb(smbd_server_fd(),outbuf)) {
exit_server_cleanly("send_nt_replies: send_smb failed.");
}
- return 0;
+ TALLOC_FREE(req->outbuf);
+ return;
}
/*
@@ -255,31 +259,12 @@
if(params_to_send < 0 || data_to_send < 0) {
DEBUG(0,("send_nt_replies failed sanity check pts = %d, dts = %d\n!!!",
params_to_send, data_to_send));
- return -1;
+ TALLOC_FREE(req->outbuf);
+ return;
}
}
-
- return 0;
}
-void send_nt_replies_new(struct smb_request *req, NTSTATUS nt_error,
- char *params, int paramsize,
- char *pdata, int datasize)
-{
- char *inbuf, *outbuf;
- int length, bufsize;
-
- if (!reply_prep_legacy(req, &inbuf, &outbuf, &length, &bufsize)) {
- reply_nterror(req, NT_STATUS_NO_MEMORY);
- return;
- }
-
- reply_post_legacy(
- req,
- send_nt_replies(inbuf, outbuf, bufsize, nt_error,
- params, paramsize, pdata, datasize));
-}
-
/****************************************************************************
Is it an NTFS stream name ?
****************************************************************************/
@@ -1138,7 +1123,7 @@
DEBUG(5,("do_nt_transact_create_pipe: open name = %s\n", fname));
/* Send the required number of replies */
- send_nt_replies_new(req, NT_STATUS_OK, params, param_len, *ppdata, 0);
+ send_nt_replies(req, NT_STATUS_OK, params, param_len, *ppdata, 0);
return;
}
@@ -1789,7 +1774,7 @@
DEBUG(5,("call_nt_transact_create: open name = %s\n", fname));
/* Send the required number of replies */
- send_nt_replies_new(req, NT_STATUS_OK, params, param_len, *ppdata, 0);
+ send_nt_replies(req, NT_STATUS_OK, params, param_len, *ppdata, 0);
return;
}
@@ -2218,7 +2203,7 @@
/*
* Rename was successful.
*/
- send_nt_replies_new(req, NT_STATUS_OK, NULL, 0, NULL, 0);
+ send_nt_replies(req, NT_STATUS_OK, NULL, 0, NULL, 0);
DEBUG(3,("nt transact rename from = %s, to = %s succeeded.\n",
fsp->fsp_name, new_name));
@@ -2316,8 +2301,8 @@
if(max_data_count < sd_size) {
- send_nt_replies_new(req, NT_STATUS_BUFFER_TOO_SMALL,
- params, 4, *ppdata, 0);
+ send_nt_replies(req, NT_STATUS_BUFFER_TOO_SMALL,
+ params, 4, *ppdata, 0);
talloc_destroy(mem_ctx);
return;
}
@@ -2367,8 +2352,7 @@
talloc_destroy(mem_ctx);
- send_nt_replies_new(req, NT_STATUS_OK, params, 4, data,
- (int)sd_size);
+ send_nt_replies(req, NT_STATUS_OK, params, 4, data, (int)sd_size);
return;
}
@@ -2423,7 +2407,7 @@
done:
- send_nt_replies_new(req, NT_STATUS_OK, NULL, 0, NULL, 0);
+ send_nt_replies(req, NT_STATUS_OK, NULL, 0, NULL, 0);
return;
}
@@ -2472,7 +2456,7 @@
so we can know if we need to pre-allocate or not */
DEBUG(10,("FSCTL_SET_SPARSE: called on FID[0x%04X](but not implemented)\n", fidnum));
- send_nt_replies_new(req, NT_STATUS_OK, NULL, 0, NULL, 0);
+ send_nt_replies(req, NT_STATUS_OK, NULL, 0, NULL, 0);
return;
case FSCTL_CREATE_OR_GET_OBJECT_ID:
@@ -2498,8 +2482,8 @@
push_file_id_16(pdata, &fsp->file_id);
memcpy(pdata+16,create_volume_objectid(conn,objid),16);
push_file_id_16(pdata+32, &fsp->file_id);
- send_nt_replies_new(req, NT_STATUS_OK, NULL, 0,
- pdata, data_count);
+ send_nt_replies(req, NT_STATUS_OK, NULL, 0,
+ pdata, data_count);
return;
}
@@ -2643,8 +2627,8 @@
talloc_destroy(shadow_data->mem_ctx);
- send_nt_replies_new(req, NT_STATUS_OK, NULL, 0,
- pdata, data_count);
+ send_nt_replies(req, NT_STATUS_OK, NULL, 0,
+ pdata, data_count);
return;
}
@@ -2698,7 +2682,7 @@
*/
/* this works for now... */
- send_nt_replies_new(req, NT_STATUS_OK, NULL, 0, NULL, 0);
+ send_nt_replies(req, NT_STATUS_OK, NULL, 0, NULL, 0);
return;
}
default:
@@ -2983,8 +2967,8 @@
break;
}
- send_nt_replies_new(req, nt_status, params, param_len,
- pdata, data_len);
+ send_nt_replies(req, nt_status, params, param_len,
+ pdata, data_len);
}
/****************************************************************************
@@ -3113,8 +3097,8 @@
return;
}
- send_nt_replies_new(req, NT_STATUS_OK, params, param_len,
- pdata, data_len);
+ send_nt_replies(req, NT_STATUS_OK, params, param_len,
+ pdata, data_len);
}
#endif /* HAVE_SYS_QUOTAS */
More information about the samba-cvs
mailing list