summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Rettberg2013-11-07 18:51:47 +0100
committerSimon Rettberg2013-11-07 18:51:47 +0100
commit0e0bbcfa7db869cb9943bfab21ebd904f254d895 (patch)
treedade3858c2eee1f7aefe0ed05a65ac15f67e563b /src
parentJoey style commit (diff)
downloaddnbd3-0e0bbcfa7db869cb9943bfab21ebd904f254d895.tar.gz
dnbd3-0e0bbcfa7db869cb9943bfab21ebd904f254d895.tar.xz
dnbd3-0e0bbcfa7db869cb9943bfab21ebd904f254d895.zip
bla
Diffstat (limited to 'src')
-rw-r--r--src/server/altservers.c1
-rw-r--r--src/server/globals.c2
2 files changed, 3 insertions, 0 deletions
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;