* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
- *
- * Connection management
*/
#include "conf-ssl.h"
#include "io.h"
+/**
+ * @file
+ * Connection management
+ */
+
#include "imp.h"
#include <assert.h>
#ifdef PROTOTYPES
Conn_Write( CONN_ID Idx, char *Data, size_t Len )
{
CLIENT *c;
- size_t writebuf_limit = WRITEBUFFER_LEN;
+ size_t writebuf_limit = WRITEBUFFER_MAX_LEN;
assert( Idx > NONE );
assert( Data != NULL );
assert( Len > 0 );
/* Uncompressed link:
* Check if outbound buffer has enough space for the data. */
if (array_bytes(&My_Connections[Idx].wbuf) + Len >=
- writebuf_limit) {
+ WRITEBUFFER_FLUSH_LEN) {
/* Buffer is full, flush it. Handle_Write deals with
* low-level errors, if any. */
if (!Handle_Write(Idx))
if (array_bytes(&My_Connections[Idx].wbuf) + Len >=
writebuf_limit) {
Log(LOG_NOTICE,
- "Write buffer overflow (connection %d, size %lu byte)!",
- Idx,
+ "Write buffer overflow (connection %d, limit is %lu bytes, %lu bytes new, %lu bytes pending)!",
+ Idx, writebuf_limit, Len,
(unsigned long)array_bytes(&My_Connections[Idx].wbuf));
Conn_Close(Idx, "Write buffer overflow!", NULL, false);
return false;
if (FwdMsg)
Conn_WriteStr(Idx, "ERROR :%s", FwdMsg);
else
- Conn_WriteStr(Idx, "ERROR :Closing connection.");
+ Conn_WriteStr(Idx, "ERROR :Closing connection");
}
/* Try to write out the write buffer. Note: Handle_Write() eventually
"Refused connection from %s: too may connections (%ld) from this IP address!",
ip_str, cnt);
Simple_Message(new_sock,
- "ERROR :Connection refused, too many connections from your IP address!");
+ "ERROR :Connection refused, too many connections from your IP address");
close(new_sock);
return -1;
}