summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2010-08-15 16:02:37 +0200
committerVolker Lendecke <vl@samba.org>2010-08-17 12:46:53 +0200
commit40ae8b74b669ced9dee0c33e15bc5e0ac8680506 (patch)
tree13e43f3cf45082ab80d972db7b1ccaea48f53da5 /source3/smbd/process.c
parentf40ef7e24cda2d25dcb04cb7e83cd1f3d62a66e4 (diff)
downloadsamba-40ae8b74b669ced9dee0c33e15bc5e0ac8680506.tar.gz
samba-40ae8b74b669ced9dee0c33e15bc5e0ac8680506.tar.bz2
samba-40ae8b74b669ced9dee0c33e15bc5e0ac8680506.zip
s3: Remove smbd_server_fd() from write_data()
This completely removes the DEBUG(0, ..) error message from write_data(). I've gone through all callers of write_data() and made sure that they have their own equivalent error message printing.
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r--source3/smbd/process.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 7430e35e7c..c44d86a6b8 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -132,8 +132,17 @@ bool srv_send_smb(int fd, char *buffer,
ret = write_data(fd,buf_out+nwritten,len - nwritten);
if (ret <= 0) {
- DEBUG(0,("pid[%d] Error writing %d bytes to client. %d. (%s)\n",
- (int)sys_getpid(), (int)len,(int)ret, strerror(errno) ));
+
+ char addr[INET6_ADDRSTRLEN];
+ /*
+ * Try and give an error message saying what
+ * client failed.
+ */
+ DEBUG(0,("pid[%d] Error writing %d bytes to client %s. %d. (%s)\n",
+ (int)sys_getpid(), (int)len,
+ get_peer_addr(fd, addr, sizeof(addr)),
+ (int)ret, strerror(errno) ));
+
srv_free_enc_buffer(buf_out);
goto out;
}
@@ -2416,7 +2425,15 @@ static bool keepalive_fn(const struct timeval *now, void *private_data)
smbd_unlock_socket(smbd_server_conn);
if (!ret) {
- DEBUG( 2, ( "Keepalive failed - exiting.\n" ) );
+ char addr[INET6_ADDRSTRLEN];
+ /*
+ * Try and give an error message saying what
+ * client failed.
+ */
+ DEBUG(0, ("send_keepalive failed for client %s. "
+ "Error %s - exiting\n",
+ get_peer_addr(sconn->sock, addr, sizeof(addr)),
+ strerror(errno)));
return False;
}
return True;