summaryrefslogtreecommitdiff
path: root/source4/smb_server/request.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-09-20 12:31:07 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:58:54 -0500
commit7d06a06584e5163b69f712e38dc46afc2668389c (patch)
tree7b15e5c67ad99a2a576fac13ecf04287fdacbc61 /source4/smb_server/request.c
parente8d244251732cd744c2c69e3e7bd7a875e704a60 (diff)
downloadsamba-7d06a06584e5163b69f712e38dc46afc2668389c.tar.gz
samba-7d06a06584e5163b69f712e38dc46afc2668389c.tar.bz2
samba-7d06a06584e5163b69f712e38dc46afc2668389c.zip
r2447: let the server code use the new lib/socket/ stuff
metze (This used to be commit 2fd577d2417e117a7e8c1a56feb147eae805df34)
Diffstat (limited to 'source4/smb_server/request.c')
-rw-r--r--source4/smb_server/request.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source4/smb_server/request.c b/source4/smb_server/request.c
index a5ca789a39..80663b9ccc 100644
--- a/source4/smb_server/request.c
+++ b/source4/smb_server/request.c
@@ -247,11 +247,19 @@ void req_grow_data(struct smbsrv_request *req, uint_t new_size)
*/
void req_send_reply_nosign(struct smbsrv_request *req)
{
+ NTSTATUS status;
+ DATA_BLOB tmp_blob;
+ size_t sendlen;
+
if (req->out.size > NBT_HDR_SIZE) {
_smb_setlen(req->out.buffer, req->out.size - NBT_HDR_SIZE);
}
- if (write_data(req->smb_conn->connection->event.fde->fd, req->out.buffer, req->out.size) != req->out.size) {
+ tmp_blob.data = req->out.buffer;
+ tmp_blob.length = req->out.size;
+
+ status = socket_send(req->smb_conn->connection->socket, req, &tmp_blob, &sendlen, SOCKET_FLAG_BLOCK);
+ if (!NT_STATUS_IS_OK(status) || (req->out.size != sendlen)) {
smbsrv_terminate_connection(req->smb_conn, "failed to send reply\n");
}