summaryrefslogtreecommitdiff
path: root/source4/dns_server/dns_server.h
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2012-08-31 13:41:19 +0200
committerKai Blin <kai@samba.org>2012-08-31 22:46:01 +0200
commitc256566aa97e040a9b3007c779b1006d20462ccb (patch)
treeaf9c0d5a21bf0fde7d27f704b9308f61e088ae0f /source4/dns_server/dns_server.h
parente4505fc27bf31dbf922635fac19ea52a2a002bd4 (diff)
downloadsamba-c256566aa97e040a9b3007c779b1006d20462ccb.tar.gz
s4 dns: Store TKEYs in a ringbuffer
This stops us from potentially being DoSed by tons of TKEYs Autobuild-User(master): Kai Blin <kai@samba.org> Autobuild-Date(master): Fri Aug 31 22:46:01 CEST 2012 on sn-devel-104
Diffstat (limited to 'source4/dns_server/dns_server.h')
-rw-r--r--source4/dns_server/dns_server.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/source4/dns_server/dns_server.h b/source4/dns_server/dns_server.h
index c2fe6cf9e8f..42ae0ba660c 100644
--- a/source4/dns_server/dns_server.h
+++ b/source4/dns_server/dns_server.h
@@ -34,7 +34,6 @@ struct dns_server_zone {
};
struct dns_server_tkey {
- struct dns_server_tkey *prev, *next;
const char *name;
enum dns_tkey_mode mode;
struct auth_session_info *session_info;
@@ -42,11 +41,19 @@ struct dns_server_tkey {
bool complete;
};
+#define TKEY_BUFFER_SIZE 128
+
+struct dns_server_tkey_store {
+ struct dns_server_tkey **tkeys;
+ uint16_t next_idx;
+ uint16_t size;
+};
+
struct dns_server {
struct task_server *task;
struct ldb_context *samdb;
struct dns_server_zone *zones;
- struct dns_server_tkey *tkeys;
+ struct dns_server_tkey_store *tkeys;
struct cli_credentials *server_credentials;
};