summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-11-05 11:12:56 -0800
committerJeremy Allison <jra@samba.org>2007-11-05 11:12:56 -0800
commit36441da4240f3e3a296eed65f0796b25b7b05a3a (patch)
tree3399982fb4f83b11d5b1258a49ea1b78725bb832 /source3/smbd/reply.c
parent8f13ba45686f0f8c3415143246fba44e81fe8a73 (diff)
downloadsamba-36441da4240f3e3a296eed65f0796b25b7b05a3a.tar.gz
samba-36441da4240f3e3a296eed65f0796b25b7b05a3a.tar.bz2
samba-36441da4240f3e3a296eed65f0796b25b7b05a3a.zip
Remove the horror that was the global smb_rw_error.
Each cli struct has it's own local copy of this variable, so use that in client code. In the smbd server, add one static to smbd/proccess.c and use that inside smbd. Fix a bunch of places where smb_rw_error could be set by calling read_data() in places where we weren't reading from the SMB client socket (ie. winbindd). Jeremy. (This used to be commit 255c2adf7b6ef30932b5bb9f142ccef4a5d3d0db)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index a7fa67df22..1b36fb1e44 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -3535,7 +3535,8 @@ void reply_writebraw(connection_struct *conn, struct smb_request *req)
}
/* Now read the raw data into the buffer and write it */
- if (read_smb_length(smbd_server_fd(),buf,SMB_SECONDARY_WAIT) == -1) {
+ if (read_smb_length(smbd_server_fd(),buf,
+ SMB_SECONDARY_WAIT, get_srv_read_error()) == -1) {
exit_server_cleanly("secondary writebraw failed");
}
@@ -3564,7 +3565,7 @@ void reply_writebraw(connection_struct *conn, struct smb_request *req)
(int)tcount,(int)nwritten,(int)numtowrite));
}
- if (read_data(smbd_server_fd(), buf+4, numtowrite)
+ if (read_data(smbd_server_fd(), buf+4, numtowrite,get_srv_read_error())
!= numtowrite ) {
DEBUG(0,("reply_writebraw: Oversize secondary write "
"raw read failed (%s). Terminating\n",