diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/globals.c | 2 | ||||
-rw-r--r-- | src/server/globals.h | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/globals.c b/src/server/globals.c index c9b9411..010274d 100644 --- a/src/server/globals.c +++ b/src/server/globals.c @@ -32,6 +32,7 @@ atomic_int _maxClients = SERVER_MAX_CLIENTS; atomic_int _maxImages = SERVER_MAX_IMAGES; atomic_int _maxPayload = 9000000; // 9MB atomic_uint_fast64_t _maxReplicationSize = (uint64_t)100000000000LL; +atomic_bool _pretendClient = false; /** * True when loading config the first time. Consecutive loads will @@ -80,6 +81,7 @@ static int ini_handler(void *custom UNUSED, const char* section, const char* key SAVE_TO_VAR_UINT( dnbd3, clientTimeout ); SAVE_TO_VAR_UINT( limits, maxPayload ); SAVE_TO_VAR_UINT64( limits, maxReplicationSize ); + SAVE_TO_VAR_BOOL( dnbd3, pretendClient ); if ( strcmp( section, "dnbd3" ) == 0 && strcmp( key, "backgroundReplication" ) == 0 ) { if ( strcmp( value, "hashblock" ) == 0 ) { _backgroundReplication = BGR_HASHBLOCK; diff --git a/src/server/globals.h b/src/server/globals.h index 9b10ee4..031f565 100644 --- a/src/server/globals.h +++ b/src/server/globals.h @@ -266,6 +266,13 @@ extern atomic_int _maxPayload; extern atomic_uint_fast64_t _maxReplicationSize; /** + * Pretend to be a client when talking to others servers, + * effectively not setting the server bit during connection + * setup. Useful for local caching. + */ +extern atomic_bool _pretendClient; + +/** * Load the server configuration. */ void globals_loadConfig(); |