Bug #191 » 0001-Throttle-everything-sent-to-the-IRCd.-Fixes-being-ki.patch
| src/connection.c | ||
|---|---|---|
|
static int ssl_cx_idx;
|
||
|
static BIO *errbio = NULL;
|
||
|
extern char *conf_ssl_certfile;
|
||
|
static int cn_want_write(connection_t *cn);
|
||
|
static int SSLize(connection_t *cn, int *nc);
|
||
|
static SSL_CTX *SSL_init_context(void);
|
||
|
/* SSH like trust management */
|
||
| ... | ... | |
|
int r;
|
||
|
char *nline = bip_strdup(line);
|
||
|
if (cn->partial) {
|
||
|
if (cn->partial
|
||
|
|| !cn_want_write(cn)) {
|
||
|
list_add_first(cn->outgoing, nline);
|
||
|
} else {
|
||
|
r = write_socket(cn, nline);
|
||
| ... | ... | |
|
void write_lines(connection_t *cn, list_t *lines)
|
||
|
{
|
||
|
list_append(cn->outgoing, lines);
|
||
|
real_write_all(cn);
|
||
|
if (cn_want_write(cn))
|
||
|
real_write_all(cn);
|
||
|
}
|
||
|
void write_line(connection_t *cn, char *line)
|
||
|
{
|
||
|
list_add_last(cn->outgoing, bip_strdup(line));
|
||
|
real_write_all(cn);
|
||
|
if (cn_want_write(cn))
|
||
|
real_write_all(cn);
|
||
|
}
|
||
|
list_t *read_lines(connection_t *cn, int *error)
|
||
| ... | ... | |
|
/* token generation interval: 1200ms */
|
||
|
#define TOKEN_INTERVAL 1200
|
||
|
int cn_want_write(connection_t *cn)
|
||
|
static int cn_want_write(connection_t *cn)
|
||
|
{
|
||
|
if (cn->anti_flood) {
|
||
|
struct timeval tv;
|
||