diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-03-03 18:41:36 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-03-03 18:41:36 +0100 |
commit | 195be08c47edeaf28bf7c2371ccb4178bbeaae83 (patch) | |
tree | e8161fca4a814a49cda9efb6d937c5902f781081 | |
parent | ff78f87f9b2aae9a5e2e88612fb0c07061919d11 (diff) | |
download | fastd-195be08c47edeaf28bf7c2371ccb4178bbeaae83.tar fastd-195be08c47edeaf28bf7c2371ccb4178bbeaae83.zip |
Make 'peer limit 0' allow no connections
-rw-r--r-- | src/config.c | 2 | ||||
-rw-r--r-- | src/fastd.h | 4 | ||||
-rw-r--r-- | src/peer.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/config.c b/src/config.c index b0ad607..d5fd255 100644 --- a/src/config.c +++ b/src/config.c @@ -125,6 +125,7 @@ static void default_config(fastd_config_t *conf) { conf->peer_group = calloc(1, sizeof(fastd_peer_group_config_t)); conf->peer_group->name = strdup("default"); + conf->peer_group->max_connections = -1; } static bool config_match(const char *opt, ...) { @@ -255,6 +256,7 @@ void fastd_config_bind_address(fastd_context_t *ctx, fastd_config_t *conf, const void fastd_config_peer_group_push(fastd_context_t *ctx, fastd_config_t *conf, const char *name) { fastd_peer_group_config_t *group = calloc(1, sizeof(fastd_peer_group_config_t)); group->name = strdup(name); + group->max_connections = -1; group->parent = conf->peer_group; group->next = group->parent->children; diff --git a/src/fastd.h b/src/fastd.h index 703e463..fb7ca25 100644 --- a/src/fastd.h +++ b/src/fastd.h @@ -151,8 +151,8 @@ struct fastd_peer_group_config { char *name; fastd_string_stack_t *peer_dirs; - /* contraints */ - unsigned max_connections; + /* constraints */ + int max_connections; }; struct fastd_peer_group { @@ -381,7 +381,7 @@ bool fastd_peer_may_connect(fastd_context_t *ctx, fastd_peer_t *peer) { fastd_peer_group_t *group; for (group = peer->group; group; group = group->parent) { - if (!group->conf->max_connections) + if (group->conf->max_connections < 0) continue; if (count_established_group_peers(ctx, group) >= group->conf->max_connections) |