From 0e0bbcfa7db869cb9943bfab21ebd904f254d895 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 7 Nov 2013 18:51:47 +0100 Subject: bla --- src/server/altservers.c | 1 + src/server/globals.c | 2 ++ 2 files changed, 3 insertions(+) (limited to 'src') diff --git a/src/server/altservers.c b/src/server/altservers.c index e493df2..2cb5061 100644 --- a/src/server/altservers.c +++ b/src/server/altservers.c @@ -224,6 +224,7 @@ int altservers_get(dnbd3_host_t *output, int size) } for (i = 0; i < _num_alts; ++i) { if ( _alt_servers[i].host.type == 0 ) continue; + if ( _proxyPrivateOnly && !_alt_servers[i].isPrivate ) continue; if ( _alt_servers[i].numFails > SERVER_MAX_UPLINK_FAILS && now - _alt_servers[i].lastFail > SERVER_BAD_UPLINK_IGNORE ) continue; _alt_servers[i].numFails = 0; output[count++] = _alt_servers[i].host; diff --git a/src/server/globals.c b/src/server/globals.c index ac3f279..4f081c7 100644 --- a/src/server/globals.c +++ b/src/server/globals.c @@ -13,6 +13,7 @@ int _shutdown = 0; int _serverPenalty = 0; int _clientPenalty = 0; int _isProxy = FALSE; +int _proxyPrivateOnly = FALSE; #define SAVE_TO_VAR_STR(ss, kk) do { if (strcmp(section, #ss) == 0 && strcmp(key, #kk) == 0) { if (_ ## kk != NULL) free(_ ## kk); _ ## kk = strdup(value); } } while (0) #define SAVE_TO_VAR_BOOL(ss, kk) do { if (strcmp(section, #ss) == 0 && strcmp(key, #kk) == 0) _ ## kk = atoi(value) != 0 || strcmp(value, "true") == 0 || strcmp(value, "True") == 0 || strcmp(value, "TRUE") == 0; } while (0) @@ -23,6 +24,7 @@ static int ini_handler(void *custom, const char* section, const char* key, const if ( _basePath == NULL ) SAVE_TO_VAR_STR( dnbd3, basePath ); SAVE_TO_VAR_BOOL( dnbd3, vmdkLegacyMode ); SAVE_TO_VAR_BOOL( dnbd3, isProxy ); + SAVE_TO_VAR_BOOL( dnbd3, proxyPrivateOnly ); SAVE_TO_VAR_INT( dnbd3, serverPenalty ); SAVE_TO_VAR_INT( dnbd3, clientPenalty ); return TRUE; -- cgit v1.2.3-55-g7522