summaryrefslogtreecommitdiffstats
path: root/src/server/globals.h
diff options
context:
space:
mode:
authorSimon Rettberg2019-09-04 20:06:11 +0200
committerSimon Rettberg2019-09-04 20:06:11 +0200
commit543877c7fc17c0a881d6a85c76dfc17f8def7dff (patch)
tree03fbbf1c23a7577a3b9fdf2b5dc0fda3775d8a04 /src/server/globals.h
parent[SERVER] Fix altservers_getListForClient() (diff)
downloaddnbd3-543877c7fc17c0a881d6a85c76dfc17f8def7dff.tar.gz
dnbd3-543877c7fc17c0a881d6a85c76dfc17f8def7dff.tar.xz
dnbd3-543877c7fc17c0a881d6a85c76dfc17f8def7dff.zip
[SERVER] Support limiting alt-servers to specific namespace
Not really namespace but simple string matching for the image path. Path is matched from start with no support for glob or regex, so usually you want to have a trailing '/' to limit to certain directories.
Diffstat (limited to 'src/server/globals.h')
-rw-r--r--src/server/globals.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/globals.h b/src/server/globals.h
index 221af78..ebdc1c7 100644
--- a/src/server/globals.h
+++ b/src/server/globals.h
@@ -31,6 +31,13 @@ typedef struct
uint8_t hopCount; // How many hops this request has already taken across proxies
} dnbd3_queued_request_t;
+typedef struct _ns
+{
+ struct _ns *next;
+ char *name;
+ size_t len;
+} dnbd3_ns_t;
+
typedef struct
{
int fails; // Hard fail: Connection failed
@@ -41,6 +48,7 @@ typedef struct
ticks lastFail; // Last hard fail
dnbd3_host_t host;
char comment[COMMENT_LENGTH];
+ _Atomic(dnbd3_ns_t *) nameSpaces; // Linked list of name spaces
} dnbd3_alt_server_t;
typedef struct