limit the number of concurrent connections for all four protocols

kick a client if it doesn't authenticate within 5s on ESD and native protocol


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@292 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2004-11-18 00:28:26 +00:00
parent c57d5deef6
commit eef235d879
4 changed files with 104 additions and 12 deletions

View file

@ -39,6 +39,9 @@
#include "xmalloc.h"
#include "log.h"
/* Don't allow more than this many concurrent connections */
#define MAX_CONNECTIONS 10
struct connection {
struct pa_protocol_simple *protocol;
struct pa_iochannel *io;
@ -287,6 +290,12 @@ static void on_connection(struct pa_socket_server*s, struct pa_iochannel *io, vo
char cname[256];
assert(s && io && p);
if (pa_idxset_ncontents(p->connections)+1 > MAX_CONNECTIONS) {
pa_log(__FILE__": Warning! Too many connections (%u), dropping incoming connection.\n", MAX_CONNECTIONS);
pa_iochannel_free(io);
return;
}
c = pa_xmalloc(sizeof(struct connection));
c->io = io;
c->sink_input = NULL;